/*
 * Constants.h
 *
 *  Created on: Apr 21, 2011
 *      Author: varunjn
 */

#ifndef CONSTANTS_H_
#define CONSTANTS_H_

const string agents("agents");
const string nonAgents("nonAgents");
const string beginAgent("beginAgent");
const string beginNonAgent("beginNonAgent");
const string solidsIndependent("solidsIndependent");
const string joints("joints");
const string beginSolid("beginSolid");
const string sphere("sphere");
const string translate("translate");
const string rotate("rotate");
const string friction("friction");
const string radius("radius");
const string box("box");
const string dimensions("dimensions");
const string isStatic("isStatic");

/*
const string actionBitVector("actionBitVector");
const string stateBitVector("stateBitVector");
const string stateMin("stateMin");
const string stateMax("stateMax");

const string failedStates("failedStates");
const string failedStateMin("failedStateMin");
const string failedStateMax("failedStateMax");
const string resetStates("resetStates");
const string resetStateMin("resetStateMin");
const string resetStateMax("resetStateMax");*/
const string endSolid("endSolid");
const string endAgent("endAgent");
const string endNonAgent("endNonAgent");
const string Actions("Actions");
const string parameters("parameters");
const string episodesStr("episodes");
const string epsilonStr("epsilon");


const string humanControl("humanControl");
const string nonAgent("nonAgent");
const string agent("agent");
const string solidNum("solidNum");

const string functionApproximator("functionApproximator");
const string rbf("rbf");
const string tiling("tiling");
const string neuralNetwork("NN");

const string learner("learner");
const string sarsa("sarsa");
const string qlearner("qlearner");

const string reward("reward");
const string potential("potential");

const string experiment("experiment");
const string txtFile(".txt");
const string tableFile(".table");
const string episodeFile(".episodes");
const string rewardFile(".reward");
const string underscore("_");
const string nofile("nofile");

const int EXPERIMENT_1_SPHERE_GOAL = 1;
const int EXPERIMENT_2_PUSH_BALL = 2;
const int EXPERIMENT_3_JOINT_ACTION_PUSH = 3;
const int EXPERIMENT_4_COOPERATION_OBSTACLE = 4;
const int EXPERIMENT_5_CAPTURE_HUMAN = 5;
const int EXPERIMENT_6_MULTI_AGENT_PUSH = 6;
const int EXPERIMENT_7_JOINTS = 7;
const int EXPERIMENT_8_MULTI_IL_PUSH = 8;

const int FN_APPROX_TILING = 1;
const int FN_APPROX_RBF = 2;
const int FN_APPROX_NEURAL = 3;

const int LEARNER_SARSA = 1;
const int LEARNER_Q = 2;

const int REWARD_DEFAULT = 1;
const int REWARD_POTENTIAL = 2;

const int RUN_DUMP = 0;
const int LEARN = 1;

#endif /* CONSTANTS_H_ */
